Digital video content is typically encoded before transmission to end-user devices. The Motion Picture Experts Group (MPEG) standards are common video encoding schemes used for digital video encoding. MPEG allows a video stream to be encoded as a variable bitrate (VBR) video stream or a constant bitrate (CBR) video stream. While CBR encoded video streams have a fixed bandwidth requirement, CBR encoded video streams can result in variations in video quality. On the other hand, while VBR encoded video streams result in more consistent video quality, the bandwidth variations can lead to inefficiencies in bandwidth utilization.
When digital video content is broadcasted to multiple end-user devices, multiple VBR video streams are often multiplexed together based on statistical analysis of the multiple VBR encoded video streams, including consideration of the mean and peak bitrates. The process of statistically multiplexing multiple VBR video streams is referred to in the digital video broadcast world as “statmuxing.” Even when statmuxing is used, there are times when the instantaneous bandwidth requirement of the multiplexed VBR video streams exceeds the output bandwidth capacity, a situation often referred to as congestion.
In conventional statmuxing operations, periods of congestion are managed by dynamically adjusting the encoding of the VBR video streams to reduce the instantaneous bandwidth requirement. This operation, referred to as “transcoding” or “transrating” is computationally expensive. In addition to the transcoding/transrating operation, conventional MPEG statmuxing introduces a jitter to the video streams in the range of 0.5-1.0 seconds.
Although most digital video content is distributed today via broadcasting, there is an ever growing demand for narrowcast digital video applications such as video on demand (VOD) and switched digital video (SDV). While VBR statmuxing of MPEG encoded digital video content works well in broadcast applications, it does not transfer so well to narrowcast applications such as VOD and SDV. For example, the transcoding of narrowcast video streams is expensive to implement at the edge of an access network and the jitter introduced by VBR statmuxing can significantly impact the user experience in narrowcast applications.
In view of the above, there is a need to be able to efficiently provide narrowcast video services while taking advantage of VBR encoding and statmuxing of VBR encoded video streams.